VOS - Telefoneren
Methoden in index.js
De methoden om te bellen plaatsen we in het index.js bestand dat door Cordova werd aangemaakt. De reden hiervoor is dat die functionaliteit slechts beschikbaar in de app en niet op website. Bevendien moet die functionaliteit slechts toegankelijk zijn als de 'device ready' notificatie ontvangen is.
De methode om te bellen roept twee callback functies op. De onPhoneCallSucces
methode wordt uitgevoerd als de bel plugin geactiveerd kan worden, de onPhoneCallError
callback methode als de plugin niet geactiveerd kan worden.
var phoneCall = function(number) { // if (window.cordova) { // //ref = window.open('tel:' + number, '_system'); // cordova.InAppBrowser.open('tel:' + number.replace(/\s/g,''), '_system'); // //ref.addEventListener("endcallbutton", onEndCallKeyDown, false); // } if (window.cordova) { var bypassAppChooser = true; window.plugins.CallNumber.callNumber(onPhoneCallSuccess, onPhoneCallError, number, bypassAppChooser); } }; function onPhoneCallSuccess(result) { // alert('succes: ' + result); } function onPhoneCallError(result) { // alert('error: ' + result); }
In de TEL
render methode wordt een knop aangemaakt als de gebruiker is aangemeld. Als de gebruiker op die knop klikt wordt de phoneCall
methode in index.js opgeroepen. Is de gebruiker niet aangemeld wordt het telefoonnummer getoond.
var render = {
'identity': function (querySelector) {
...
},
'procedure': {
'make': function (procedureCode) {
...
},
'TEL': function (item, message) {
// Het telefoonnummer van directie, secretariaat, ... is afhankelijk van de plaats
var phoneNumber = getPhoneNumber(item.phoneNumber);
if (vos.model.identity.loggedIn) {
var buttonElement = makeTileButton('Tel', 'icon-phone');
buttonElement.addEventListener('click', function () {
phoneCall(phoneNumber);
});
return buttonElement;
} else {
return makeTextElement(item.code + ' ' + phoneNumber, 'P');
}
},